#ifndef _WX_DISPLAY_H_BASE_
#define _WX_DISPLAY_H_BASE_

class wxWindow;
class wxPoint;
class wxRect;
class wxString;

class wxDisplayFactory;
class wxDisplayImpl;

class wxDisplay {
  public:
    wxDisplay( unsigned n = 0 );
    ~wxDisplay();
    static unsigned GetCount();
    static int GetFromPoint( const wxPoint& pt );
    static int GetFromWindow( wxWindow *window );
    bool IsOk() const { return m_impl != NULL; }
    wxRect GetGeometry() const;
    wxRect GetClientArea() const;
    wxString GetName() const;
    bool IsPrimary() const;
  private:
    static wxDisplayFactory& Factory();
    static wxDisplayFactory *CreateFactory();
    wxDisplayImpl *m_impl;
    DECLARE_NO_COPY_CLASS( wxDisplay )
};

#endif
